延續昨天的概念,今天用一個很簡單的案例來做一個自動化腳本(Rule)。
就是讓每次 Jira 點選 Sprint 開始或是完成時,都會發送一個 Slack 訊息到團隊頻道上,作為一種儀式感。
先 Create Rule,然後在選擇 Trigger時,選擇 Sprint started / Sprint completed 作為處發條件。
選擇後他會要你選擇是以哪一個 Board 的 Sprint 作為處發對象,通常輸入專案名稱就可以找到該專案的 Board。
接著新增一個 Action,並選擇 Notifications 類別中的 Send Slack message。
選擇後會發現他要求要填寫三個欄位,分別是 Webhook URL、Message、Channel or user。
Webhook URL 即 Jira 發送請求的目標 API,可以在選該輸入框下方的 configure an incoming webhook 來設定。
在設定頁面選擇預設要發送訊息的頻道或對象後,點擊 Add Incoming WebHooks integration。
接著就可以在其頁面找到 Webhook URL,這就是我們要的網址。
也可以到更下面的區塊,找到同樣的網址,並有按鈕可以直接複製。在這邊亦有設定發送訊息到 Slack 時,要顯示的名稱與頭像。這個網址請不要隨意公開,若是洩漏後,亦可點選 Regerate 重新產生,像我截完圖之後就重新產生了。
比如說換成我的頭像,並把名稱改成 Yuehu Bot
Save Setting 後,將複製的 Webhook URL 貼上到 Jira 上。並且嘗試在 Message 中填入我要的訊息。
這邊會有些細節,分別是變數與格式。
在 Jira 中提供了一些 Smart Value 最作為變數讓我們讀取某些值,這些變數會以兩個大括號包覆起來 {{ VARIABLE }}
。像是上圖用到的 {{ sprint.name }}
和 {{ sprint.goal }}
即為該次 Sprint 的名稱和目標,晚點我們 Start Sprint 時會再提到。
格式可以參考 Formatting text for app surfaces。基本上是支援 Markdown 的子集,稱為 mrkdwn
,比較不一樣的是使用 <url|link-name>
的格式。另外 <
、>
、&
是特殊字元,若要顯示要仿照 HTML 的方式改寫為 &
、<
、>
。
寫文訊息後就可以 Save 這個 Action。頻道名稱不填的話就是預設剛剛在 Slack 設定時使用的那個頻道。皆折就可以輸入 Rule Name 並且 Turn it on。
回到 Product Backlog,點選 Create Sprint:
就會有一個 Sprint 的區塊,讓我們能拖曳 Item。
拖曳數個 Item 後點選 Start sprint。
就會出現一個彈跳視窗,並且有我們剛剛提到的 Sprint Name 和 Sprint Goal 欄位可以填寫。填寫後選擇 Start。
回到 Slack 就會看到剛剛設置 Rule 所發出的通知啦~
本次用到的 Trigger 是 Sprint started、Sprint completed,並使用為了顯性化資訊常用到的 Send Slack message,希望這個簡單的組合能帶給讀者如何透過自動化開始擴散資訓的啟發。搭配其他 Trigger 加上 Send Slack message 就可以有很多應用情境可以嘗試了唷。